/*
    author:johnman
    date:2020-06-19
    content:user operator
 */

const userDao = require('../dao/userDao');
const md5 = require('../utils/md5/md5');

//1.注册的业务:先查找用户是否存在，不存在则增加
async function addUser(user) {
    var ret = await userDao.findByName(user.name);
        if(ret.success){
            return {success:false,msg:'用户已存在'};
        }else{
            user.password = md5.toMd5(user.password);
            var data = await userDao.addUser(user);
            //因为在dao层已做处理，直接返回
            console.log('service增加成功');
            return data;

        }
}
//2.登录：找出用户，然后进行密码比对
//由于对数据库里面的密码进行了md5验证，所以数据一般要进行密码验证
async function login(user) {
    var ret = await userDao.findByName(user.name);
    if(ret.success){
        var password = md5.toMd5(user.password);
        if(password==ret.user.password){
            return ret;
        }else{
            return {success:false,msg:'用户名或密码错误'}
        }
    }else{
        return {success:false,msg:'用户不存在'}
    }
}

//
async function loginCookie(user) {
    var ret = await userDao.findByName(user.name);
    if(ret.success){
        if(user.password==ret.user.password){
            return {success:true,user:ret.user};
        }else{
            return {success:false,msg:'用户名或密码错误'}
        }
    }else{
        return {success:false,msg:'用户不存在'}
    }
}
//共享
exports.addUser = addUser;
exports.login = login;
exports.loginCookie = loginCookie;